An external peripheral device (hereinafter, also referred to as an “external device”) may be connected wiredly or wirelessly to a personal computer (hereinafter, also referred to as a “PC”). In order to control an external device connected to a PC from the PC, a device driver (hereinafter, also simply referred to as a “driver”) is generally installed in the PC. The external device is a printer, a keyboard, a mouse, and a card reader, for example. A driver corresponding to each external device installed in a PC makes it possible to control the external device from the PC. In an operating system (hereinafter, also referred to as an “OS”) used in a PC, such as Windows (registered trademark), a driver is incorporated in the OS as a part of the OS. Thus, the install of the driver in a PC is performed with administrative rights, which is different from the install of a typical application.
Recently, the “smart device” such as a smartphone and a tablet terminal has been used widely as a terminal device having the same functions as a PC. An OS used in the smart device, such as Android and iOS, does not allow a user to have administrative rights because of security, and thus the user himself/herself is not able to incorporate a driver in the OS. Therefore, external devices controllable through the smart device are generally limited to ones corresponding to drivers preliminarily incorporated in the OS before shipment of the smart device. For example, a driver of a keyboard is often incorporated preliminarily in an OS by a manufacturer of a smart device before shipment of the smart device, while a driver of a printer is hardly incorporated before shipment of a smart device.
As a method of allowing a smart device to control an external device with an OS in which the corresponding driver is not incorporated, an application dedicated to each external device is installed in the smart device. For example, in order to allow a smart device to control a printer having a function of a wireless local area network (hereinafter, also referred to as a “WLAN”), a manufacturer of the printer distributes a dedicated application. The user installs the dedicated application in the smart device, which enables the user to control the printer corresponding to the dedicated application from the smart device through a WLAN. Related-art examples are described, for example, in Japanese Laid-open Patent Publication No. 2001-109698, Japanese Laid-open Patent Publication No. 2008-134701, and Japanese Laid-open Patent Publication No. 2002-328878.
In a PC, drivers are incorporated in an OS, as described above. Thus, external devices corresponding to the drivers can be controlled through various applications operated on the OS. In a smart device, by contrast, a dedicated application is installed so as to allow control of a certain external device such as a printer from the smart device. Unlike a driver installed in a PC, the dedicated application is not incorporated in the OS of the smart device, and operates on the OS similarly to other applications. Moreover, there are no established communication means between applications. Thus, even when a dedicated application for allowing control of a certain external device is installed in the smart device, the certain external device corresponding to the dedicated application cannot be controlled by applications other than the dedicated application. For example, when a dedicated application for allowing printing of image data by a printer is installed and if the dedicated application does not allow printing of document data, any document data cannot be printed even when a document developing application is installed. Therefore, in the conventional smart device, in order to allow a plurality of applications to control the same printer, individual dedicated applications are used.
Here, such a dedicated application includes a function of transmitting and receiving a control command to and from an external device (hereinafter, also referred to as a “transmission and reception function”). There no established communication means between applications as described above. Thus, the transmission and reception function needs to be included individually in each application so as to allow control of an external device by the application. In this manner, individually providing each application with the transmission and reception function becomes a cause of an increase in the labor of developing applications and an increase in a data amount of applications.
Moreover, such a transmission and reception function depends on a communication system supported by the smart device. For example, even when a dedicated application has a transmission and reception function supported by Bluetooth (registered trademark), an external device cannot be controlled from a smart device unless the smart device in which the dedicated application is installed supports Bluetooth (registered trademark). Then, in developing a dedicated application that is commonly available in a plurality of smart devices supporting different communication systems, the dedicated application needs to include a plurality of transmission and reception functions corresponding to such communication systems. This fashion further increases the labor of developing applications and a data amount of applications.